<script setup>

import {ref} from 'vue'
import {getConProcessFileCompareInfo} from "@/api/contract/contractFile.js";
import pageofficeCtrlUtil from "@/plugins/pageoffice/pageoffice-word-excel.js";
import PageOfficeFile from "@/components/PageOfficeFile/index.vue";

const poHtml = ref('')
let conId = undefined
//组装控件所需的自定义按钮的参数,
// 数组的第一个元素： 按钮的标题（如果设置为 "-"，表示此按钮是分隔线）；第二个元素： 点击当前按钮时触发的 JavaScript 函数名；第一个元素： 按钮图标的索引；
//组装pdf控件所需的自定义按钮参数
const customButtonsForPO = [
  ["显示初始版本", "showFile1View", 0],
  ["显示审核完毕版本", "showFile2View", 0],
  ["-", "", 0],
  ["显示变动结果", "showCompareView", 0],
  ["上一处", "previousRevision", 15],
  ["下一处", "nextRevision", 12],
  ["-", "", 0]
]

onMounted(() => {
  //获取pageoffice客户端传过来的参数
  conId = JSON.parse(pdfctrl.WindowParams)
  getFile()
})

function getFile() {
  getConProcessFileCompareInfo(conId).then(result => {
    poHtml.value = result.html
    //挂载PDFCtrl 控件需要调用的函数，例如控件触发的事件、自定义按钮触发的函数等。
    pageofficeCtrlUtil.jsFunctionMounted(customJSFunctions, customButtonsForPO)
  })
}

const customJSFunctions = {
  //重写 OnPageOfficeCtrlInit 事件
  OnPageOfficeCtrlInit: () => {
    pageofficeCtrlUtil.addCustomButtons(customButtonsForPO)
  },
  AfterDocumentOpened: () => {
    //启用修订
    pageofficectrl.word.SetTrackRevisions(true)
    //设置标题
    const iRevisionsCount =  pageofficeCtrlUtil.getRevisionCount()
    pageofficectrl.Caption = pageofficectrl.Caption + '【共有 '+ iRevisionsCount + ' 处变动】'
  },
}

</script>

<template>
  <PageOfficeFile :poHtml="poHtml"/>
</template>

